package com.kakarote.admin.entity.PO;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;


@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("wk_admin_apply_order")
@ApiModel(value = "AdminApplyOrder订单对象", description = "应用申请订单表")
public class AdminApplyOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("订单中的应用名称")
    private String name;

    @ApiModelProperty("关闭订单的时间")
    private LocalDateTime closeTime;

    @ApiModelProperty("到期时间")
    @TableField(exist = false)
    private LocalDateTime endTime;

    @ApiModelProperty("赠送年限")
    @TableField(exist = false)
    private Integer extraYear;

    @ApiModelProperty("年份")
    private Integer year;

    @ApiModelProperty("订单金额")
    private BigDecimal amount;

    @ApiModelProperty("订单状态1待支付，2已取消，3超时自动取消，4支付结果确认中，5支付成功")
    private Integer status;

    @ApiModelProperty("支付时间")
    private LocalDateTime payTime;

    @ApiModelProperty("支付方式1微信2支付宝3其它")
    private Integer payWay;

    @ApiModelProperty("下单的用户id")
    private Long userId;

    @ApiModelProperty("微信native支付codeurl")
    private String wxCodeUrl;

    @ApiModelProperty("备注")
    private String msg;


    @ApiModelProperty("是否已申请合同，1已申请，0未申请")
    private Integer contract;

    @ApiModelProperty("是否已申请发票，1已申请，0未申请")
    private Integer invoice;

    @ApiModelProperty("下单用户手机号")
    private String mobile;

    @ApiModelProperty("购买的服务id")
    private Long goodsId;

    @ApiModelProperty("goods表的多个id逗号隔开")
    private String goodsIds;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("修改时间")
    private LocalDateTime updateTime;
}
